Python-based Distributed Programming with Trickle
نویسندگان
چکیده
Trickle is a an extension to the Python programming language that provides explicit but simple mechanisms to write distributed scripts and programs. Trickle links together remote Python interpreters running on heterogeneous machines so that work can be deployed and results collected. A Trickle program interacts with remote interpreters by injecting functions or classes. Remote objects can be instantiated and invoked synchronously or asynchronously. Also, the injected code need not reside on the remote interpreters; code is dynamically transferred as needed. Trickle leverages off of Python’s list comprehensions and generators to simplify parallel invocation, result gathering, and dynamic scheduling. The Trickle run-time system uses a broadcast mechanism to find eligible Trickle virtual machines. Python programmers can immediately use Trickle to dispatch work to idle machines with minimal setup and easy to learn mechanisms. This paper describes the Trickle extension interface, its implementation, and presents an example application and its performance.
منابع مشابه
Practical Interruptible Conversations - Distributed Dynamic Verification with Session Types and Python
The rigorous and comprehensive verification of communication-based software is an important engineering challenge in distributed systems. Drawn from our industrial collaborations [32,35,26] on Scribble, a choreography description language based on multiparty session types, this paper proposes a dynamic verification framework for structured interruptible conversation programming. We first presen...
متن کاملEfficiency Considerations of PERL and Python in Distributed Processing
With the resurgence of interest in distributed processing and programming of distributed systems, researchers are exploring methods and techniques for facilitating programming of such systems. In this paper we demonstrate the ease of use and performance characteristics of socket communication for scripting languages PERL and Python. Productivity is enhanced when developing distributed applicati...
متن کاملA Multilingual Programming Model for Coupled Systems
Multiphysics and multiscale simulation systems share a common software requirement—infrastructure to implement data exchanges between their constituent parts—often called the coupling problem. On distributed-memory parallel platforms, the coupling problem is complicated by the need to describe, transfer, and transform distributed data—known as the parallel coupling problem. Parallel coupling is...
متن کاملWork Queue + Python: A Framework For Scalable Scientific Ensemble Applications
Even with the increase in the number and variety of computer resources available to research scientists today, it is still challenging to construct scalable distributed applications. To address this issue, we developed Work Queue, a flexible master/worker framework for building large scale scientific ensemble applications that span many machines including clusters, grids, and clouds. In this pa...
متن کاملInteroperability between .Net framework and Python in Component way
The objective of this work is to make interoperability of the distributed object based on CORBA middleware technology and standards. The distributed objects for the client-server technology are implemented in C#.Net framework and the Python language. The interoperability result shows the possibilities of application in which objects can communicate in different environment and different languag...
متن کامل